# Печатные формы В системе Глобал доступно создание и настройка печатных форм договоров пользовательскими средствами через визуальный интерфейс без привлечения разработчиков и обновления исполняемого кода Системы. ## Создание макетов ПФ в Word, Excel, Txt При создании макетов печатных форм в Word, Excel, rtf, txt в качестве источника данных для формирования печатной формы используются Sql-запросы, которые должны быть вставлены непосредственно в макет. Чтобы правильно сформировать макет отчета следует придерживаться следующих правил: - Текстовая часть документа помещается между открывающим и закрывающим тегами - Открывающий тег формируется по шаблону: ```[#&SqlSelect = select 1 as sField#]``` где «SqlSelect» - условное обозначение тега; ```select 1 as sField``` - Sql-текст запроса; - Закрывающий тег формируется по шаблону ```[#/SqlSelect#]``` где «SqlSelect» - условное обозначение тега; - Если требуется создать отчет с несколькими уровнями вложенности, то допускается добавление тега внутри другого тега. - Чтобы в текст макета вставлять значение из запроса используется специальный маркер: ```[#sField#]``` где «sField» - имя атрибута из Sql-запроса. При этом в случае, если в запросе отсутствует атрибут с таким именем, то в сформированной печатной форме поле останется пустым. - Если из вложенного уровня (уровень «деталь») необходимо получить значение атрибута из запроса верхнего уровня (уровень «мастер»), то следует использовать маркер следующего вида: ```[#super$sField#]``` где «sField» - имя атрибута из Sql-запроса верхнего уровня. При этом стоит отметить, что маркер ```[#sField#]``` тоже сработает, если атрибут «sField» присутствует только в запросе верхнего уровня. Если же он встречается в запросе нижнего уровня, то в печатной форме будет выведено значение из него. - В качестве параметра может использоваться любой атрибут интерфейса, из которого будет формироваться печатная форма. Для этого необходимо в текст запроса или маркер добавить следующее значение: ```:id```, где – «id» системное имя атрибута из интерфейса. - Форматирование документа (стили, отступы, выравнивание, выделение цветом и т.п.) настраивается средствами редактора, которым пользуется пользователь. ## Создание макетов ПФ с использованием Jaspersoft Studio Jaspersoft Studio – это графический дизайнер отчетов, который позволяет создавать сложные макеты, содержащие вложенные отчеты, перекрестные таблицы, изображение, диаграммы и многое другое. В качестве источника данных может использовать JDBC, TableModels, JavaBeans, XML, Hibernat, CSV, XML/A, JSON. Сформированный макет может быть визуализирован непосредственно в Jaspersoft Studio в режиме предпросмотра. Также в Jaspersoft Studio есть возможность редактирования непосредственно xml-разметки макета отчета. ## Параметры, используемые при построении печатных форм При построении из системы Global в печатную форму передаются следующие стандартные параметры: - IDSRCOJECT – идентификатор объекта (документа), от которого формируется печатная форма; - IDSRCCLASS - идентификатор класса объекта, от которого формируется печатная форма; - IDUSER – идентификатор пользователя, который формирует печатную форму; - SIGNDATA_DZ – блок в формате json с информацией о подписях, настроенных для объекта, от которого формируется печатная форма. Кроме того, в системе Global в настройках печатной формы можно настроить дополнительные параметры, которые пользователь может заполнить перед формированием документа, и которые также будут передаваться в формируемый отчет. ```{note} Регистр системных имен параметров в макетах Jaspersoft studio должен совпадать с регистром параметров, передаваемых из Global. Все стандартные параметры передаются в верхнем регистре ``` ## Публикация печатных форм в Системе Для присоединения созданного шаблона печатной формы к типу объекта необходимо: - В приложении ```Настройки Системы``` перейти в пункт меню Отчеты -> Печатные формы - Выполнить операцию создания, указать системное имя, наименование и модуль - Создать новую версию и выбрать тип шаблона. Загрузить файл с компьютера - Перейти в меню Сущности -> Типы объектов -> Типы объектов, найти требуемый, в разделе "Печатные формы" выполнить операцию добавления и выбрать требуемый шаблон ПФ - Сбросить кэш через меню Сервис -> Управление решением -> Очистить все кэши